home *** CD-ROM | disk | FTP | other *** search
Wrap
aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) NNNNAAAAMMMMEEEE afInitCompression, afInitCompressionParams, afAware - configure the audio compression type and parameters in an AAAAFFFFffffiiiilllleeeesssseeeettttuuuupppp structure for an audio track SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////aaaauuuuddddiiiiooooffffiiiilllleeee....hhhh>>>> vvvvooooiiiidddd aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((AAAAFFFFffffiiiilllleeeesssseeeettttuuuupppp sssseeeettttuuuupppp,,,, iiiinnnntttt ttttrrrraaaacccckkkk,,,, iiiinnnntttt ccccoooommmmpppprrrreeeessssssssiiiioooonnnn)))) vvvvooooiiiidddd aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss((((AAAAFFFFffffiiiilllleeeesssseeeettttuuuupppp sssseeeettttuuuupppp,,,, iiiinnnntttt ttttrrrraaaacccckkkk,,,, iiiinnnntttt ccccoooommmmpppprrrreeeessssssssiiiioooonnnn,,,, AAAAUUUUppppvvvvlllliiiisssstttt ppppvvvvlllliiiisssstttt,,,, iiiinnnntttt nnnnuuuummmmiiiitttteeeemmmmssss)))) PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRR _s_e_t_u_p is an AAAAFFFFffffiiiilllleeeesssseeeettttuuuupppp structure, previously created by a call to aaaaffffNNNNeeeewwwwFFFFiiiilllleeeeSSSSeeeettttuuuupppp(3dm). _t_r_a_c_k is a positive integer which identifies an audio track in a file configuration. Since all currently supported file formats contain one audio track per file, the constant value AAAAFFFF____DDDDEEEEFFFFAAAAUUUULLLLTTTT____TTTTRRRRAAAACCCCKKKK should always be used here. _c_o_m_p_r_e_s_s_i_o_n is a positive integer symbolic constant which indicates the type of audio compression for the audio track. _p_v_l_i_s_t is an AAAAUUUUppppvvvvlllliiiisssstttt structure, previously created by a call to AAAAUUUUppppvvvvnnnneeeewwww(3dm), initialized with parameters, parameter types, and parameter values using AAAAUUUUppppvvvvsssseeeettttppppaaaarrrraaaammmm(3dm), AAAAUUUUppppvvvvsssseeeettttvvvvaaaallllttttyyyyppppeeee(3dm), and AAAAUUUUppppvvvvsssseeeettttvvvvaaaallll(3dm). _n_u_m_i_t_e_m_s is the number of valid entries in the _p_v_l_i_s_t as set via AAAAUUUUppppvvvvnnnneeeewwww(3dm). DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn(((()))) and aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))) allows you to configure audio tracks for compressed data. aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn(((()))) allows a one-parameter compression scheme to set up a default codec configuration with a set of default compression parameters. aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))) allows not only the choice of codec, but also for a list of codec specific compression parameters to be set. aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))) is now obsolete, having been replaced by aaaaffffIIIInnnniiiittttFFFFoooorrrrmmmmaaaattttPPPPaaaarrrraaaammmmssss(3dm). It exists only for backwards compatibility. The only compression schemes which have parameters handled via aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))) are MPEG1 and the Aware, Inc. MultiRate. All other compression schemes which have parameters must be handled via DDDDMMMMppppaaaarrrraaaammmmssss(3dm) using aaaaffffIIIInnnniiiittttFFFFoooorrrrmmmmaaaattttPPPPaaaarrrraaaammmmssss(3dm). PPPPaaaaggggeeee 1111 aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) Fifteen values for _c_o_m_p_r_e_s_s_i_o_n may currently be passed to aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn(((()))) or aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))) AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____NNNNOOOONNNNEEEE no compression AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777711111111____UUUULLLLAAAAWWWW 64kbps CCITT G.711 ulaw encoding, 8 kHz 16-bit AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777711111111____AAAALLLLAAAAWWWW 64 kbps CCITT G.711 alaw encoding, 8kHz 16-bit AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777722222222 64 kbps CCITT G.722 ADPCM, 16 kHz 16-bit AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777722226666 16, 24, 32, or 40 kbps CCITT G.726 ADPCM, 8 kHz 16-bit AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGG777722228888 16 kbps CCITT G.728 ADPCM, 8 kHz 16-bit AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____GGGGSSSSMMMM 13 kbps European GSM 06.10 encoding, 8 kHz 16-bit AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____DDDDVVVVIIII____AAAAUUUUDDDDIIIIOOOO 32 kbps DVI ADPCM, 8 kHz 16-bit AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____FFFFSSSS1111000011116666 48, 72, or 96 kbps US Federal Standard 1016 CELP, 8 kHz, 16-bit AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____MMMMPPPPEEEEGGGG1111 ISO/MPEG-1 Layers I and II. Equivalent to AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMPPPPEEEEGGGG____IIIIIIII. AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____AAAAWWWWAAAARRRREEEE____MMMMUUUULLLLTTTTIIIIRRRRAAAATTTTEEEE Aware, Inc's MultiRate I near-lossless or lossless algorithm. Equivalent to AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____AAAAWWWWAAAARRRREEEE____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMUUUULLLLTTTTIIIIRRRRAAAATTTTEEEE. AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMPPPPEEEEGGGG____IIII ISO/MPEG-1-audio layer I, joint-stereo, fixed rate at 192 Kbps/channel AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMPPPPEEEEGGGG____IIIIIIII ISO/MPEG-1-audio layer II, joint-stereo, fixed rate at 128 Kbps/channel AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____AAAAWWWWAAAARRRREEEE____DDDDEEEEFFFFAAAAUUUULLLLTTTT____MMMMUUUULLLLTTTTIIIIRRRRAAAATTTTEEEE Aware, Inc. MultiRate I operating in near- lossless mode. AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____AAAAWWWWAAAARRRREEEE____DDDDEEEEFFFFAAAAUUUULLLLTTTT____LLLLOOOOSSSSSSSSLLLLEEEESSSSSSSS Aware, Inc. MultiRate I operating in lossless mode. For aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnnPPPPaaaarrrraaaammmmssss(((()))), the parameters and values passed in _p_v_l_i_s_t should be taken from the following. Parameter type is AAAAUUUU____PPPPVVVVTTTTYYYYPPPPEEEE____LLLLOOOONNNNGGGG unless otherwise noted. PPPPaaaaggggeeee 2222 aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____LLLLAAAAYYYYEEEERRRR selects which MPEG layer: AAAAFFFF____MMMMPPPPEEEEGGGG____LLLLAAAAYYYYEEEERRRR____IIII AAAAFFFF____MMMMPPPPEEEEGGGG____LLLLAAAAYYYYEEEERRRR____IIIIIIII (default) AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____CCCCHHHHAAAANNNNNNNNEEEELLLL____PPPPOOOOLLLLIIIICCCCYYYY //// AAAAFFFF____AAAAWWWWAAAARRRREEEE____PPPPAAAARRRRAAAAMMMM____CCCCHHHHAAAANNNNNNNNEEEELLLL____PPPPOOOOLLLLIIIICCCCYYYY chooses how multiple channels should be treated: AAAAFFFF____MMMMPPPPEEEEGGGG____SSSSTTTTEEEERRRREEEEOOOO //// AAAAFFFF____AAAAWWWWAAAARRRREEEE____SSSSTTTTEEEERRRREEEEOOOO indicates that the channels are part of a single multi-channel signal. This includes 4-channel, etc.; AAAAFFFF____MMMMPPPPEEEEGGGG____JJJJOOOOIIIINNNNTTTT____SSSSTTTTEEEERRRREEEEOOOO (default) indicates that the algorithm may attempt to exploit redundancy between channels for greater coding gain; Not valid for MultiRate. AAAAFFFF____MMMMPPPPEEEEGGGG____IIIINNNNDDDDEEEEPPPPEEEENNNNDDDDEEEENNNNTTTT //// AAAAFFFF____AAAAWWWWAAAARRRREEEE____IIIINNNNDDDDEEEEPPPPEEEENNNNDDDDEEEENNNNTTTT indicates that the separate channels are unrelated and should be processed separately, such as multi-lingual sound tracks. Note that all of these settings are equivalent for single channel input. AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____TTTTAAAARRRRGGGGEEEETTTT (not for Aware MultiRate) specifies the desired bitrate for all channels of compressed data, in bits per second. Note that for some schemes such as MPEG's maxrate (not implemented) this is treated as an upper limit, whereas for MPEG's fixrate, this is strictly achieved as a constant rate. The following is a list of valid bitrates for MPEG. Layer 1: 32000, 64000, 96000, 128000, 160000, 192000, 224000, 256000, 288000, 320000, 352000, 384000, 416000, and 448000. Layer 2: 32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 320000, and 384000. Default value is 192 kbps / channel for layer 1 and 128 kbps / channel for layer 2. AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____PPPPOOOOLLLLIIIICCCCYYYY //// AAAAFFFF____AAAAWWWWAAAARRRREEEE____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____PPPPOOOOLLLLIIIICCCCYYYY Provides for different modes of bit assignment: The valid values depend on the algorithm, as indicated below. AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____PPPPOOOOLLLLIIIICCCCYYYY (SGI MPEG): PPPPaaaaggggeeee 3333 aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) AAAAFFFF____MMMMPPPPEEEEGGGG____FFFFIIIIXXXXEEEEDDDD____RRRRAAAATTTTEEEE (default) Fixed bitrate per second. The Compression ratio is determined by value of AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____TTTTAAAARRRRGGGGEEEETTTT. AAAAFFFF____MMMMPPPPEEEEGGGG____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL Bitrate is driven by the psychoacoustic model. Enough bits are assigned so that a constant Mask to Noise ratio is attained. See AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL____NNNNMMMMRRRR. AAAAFFFF____AAAAWWWWAAAARRRREEEE____PPPPAAAARRRRAAAAMMMM____BBBBIIIITTTTRRRRAAAATTTTEEEE____PPPPOOOOLLLLIIIICCCCYYYY (Aware MultiRate): AAAAFFFF____AAAAWWWWAAAARRRREEEE____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL Enough bits are assigned so that the signal is 90+ dB above the quantization noise. Compression ratios are typically between 2.5:1 and 4:1. AAAAFFFF____AAAAWWWWAAAARRRREEEE____LLLLOOOOSSSSSSSSLLLLEEEESSSSSSSS Enough bits are assigned to provide for perfect reconstruction. Compression ratios are typically between 2:1 and 3:1. AAAAFFFF____MMMMPPPPEEEEGGGG____PPPPAAAARRRRAAAAMMMM____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL____NNNNMMMMRRRR (not for Aware MultiRate) For SGI MPEG with AAAAFFFF____AAAAWWWWAAAARRRREEEE____CCCCOOOONNNNSSSSTTTT____QQQQUUUUAAAALLLL, sets the constant quality mode noise-to-mask ratio in dB. Zero yields a theoretic psychoacoustic imperceptible compression. Positive values provide more compression and noise becomes audible. Negative values cause less compression and less perceptible noise. The type of value of this parameter is AAAAUUUU____PPPPVVVVTTTTYYYYPPPPEEEE____DDDDOOOOUUUUBBBBLLLLEEEE.... All compression encoding is handled automatically by aaaaffffWWWWrrrriiiitttteeeeFFFFrrrraaaammmmeeeessss(3dm). An application program only needs to work with linear PCM data. AIFF files do not support compression, so the configuration parameter _c_o_m_p_r_e_s_s_i_o_n will be ignored by aaaaffffOOOOppppeeeennnnFFFFiiiilllleeee(3dm), and the value AAAAFFFF____CCCCOOOOMMMMPPPPRRRREEEESSSSSSSSIIIIOOOONNNN____NNNNOOOONNNNEEEE will automatically be associated with the audio data. VVVVAAAALLLLIIIIDDDD IIIINNNNPPPPUUUUTTTT AAAAUUUUDDDDIIIIOOOO DDDDAAAATTTTAAAA FFFFOOOORRRRMMMMAAAATTTTSSSS Many compression schemes have restrictions on sampling rates and channel counts: Sampling rates for MPEG must be 32 kHz, 44.1 kHz, or 48 kHz. Sampling rates for MultiRate must be 8 kHz, 11.025 kHz, 16 kHz, 22.05 kHz, 32 kHz, 44.1 kHz, or 48 kHz. Both MPEG and MultiRate must have 1- or 2-channel input. G728 and GSM compression must always be 8 kHz sampling rate. PPPPaaaaggggeeee 4444 aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) aaaaffffIIIInnnniiiittttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn((((3333ddddmmmm)))) G726, G728, and GSM compression must have 1-channel input. CCCCAAAAVVVVEEEEAAAATTTTSSSS The Audio File Library will continue to support additional file formats and compression types. Be aware of this. Not all file formats are able to store audio data with all of the supported compression types. For example, AIFF-C can store compressed data whereas AIFF can't. See aaaaffffGGGGeeeettttCCCCoooommmmpppprrrreeeessssssssiiiioooonnnn(3dm) for more information. SSSSEEEEEEEE AAAALLLLSSSSOOOO afNewFileSetup(3dm), afOpenFile(3dm), afWriteFrames(3dm), afGetCompression(3dm), AwareIntro(3dm), afInitFormatParams(3dm) PPPPaaaaggggeeee 5555